/** ****************************************************************************
 * @file 	module.h
 * @author 	mojinpan
 * @copyright (c) 2018-2025 mojinpan. All rights reserved.
 * @brief 	模块
 *
 * @version 	V1.0
 * @date 	2020-05-02
 * @details
 * 1.初稿
 *******************************************************************************/
#include <tbox/base/log.h>
#include "comm/comm.h"
#include "module/module.h"

namespace bas
{
    Module::Module(const std::string &name, Context &ctx)
        : tbox::main::Module(name, *(ctx.ctx_)),
          moduleName(name),
          m_ctx(ctx)
    {
        parent = m_ctx.parent;
        m_ctx.ctx_ = &(tbox::main::Module::ctx());
    }

    Module:: ~Module()
    {

    }

    void Module::onFillDefaultConfig(tbox::Json &js)
    {
    }

    bool Module::onInit(const tbox::Json &js)
    {
        return true;
    }

    bool Module::onStart()
    {
        return true;
    }

    void Module::onStop()
    {
    }

    void Module::onRecv(const std::string &from_who, const void *data_ptr, size_t data_size)
    {
        LogInfo("Received data from %s, size: %zu", from_who.c_str(), data_size);
    }
}

/*********************************END OF FILE**********************************/
